****
****	Replication file for "Health and Political Representation"
****	
****	Micah Tan (MT)
****	
****	Political Behavior
****	
****	Note: This replication file is for a manuscript that replicates and
****	extends another paper, "A Healthy Democracy?", by Julianna Pacheco
****	and Christopher Ojeda (2020). I would like to credit them as a majority 
****	of the code in this .do file is provided by them, with edits made 
****    by me to correct mistakes found in the original analysis and to extend
****	their analysis.
****
****	Key changes to their code are indicated with inline comments. Sections 
****	1-3 were written by Pacheco and Ojeda and contain edits by me. Section
****	4 contains additional analyses that Pacheco and Ojeda did not include
****	in their manuscript, and is thus written entirely by me. 
****
****	Table of Contents:
****
****		- Section 1: Data Merging
****
****		- Section 2: Variable Cleaning
****
****		- Section 3: Analyses
****
****		- Section 4: Extension (by Micah Tan)
****

********************************************************************************
**** SECTION 1: DATA MERGING
clear all
use "CCES2012_12.dta"

* State
rename inputstate state
gen st_fips=state
drop state
gen state=.
replace state=1 if st_fip==1
replace state=2 if st_fip==2
replace state=3 if st_fip==4
replace state=4 if st_fip==5
replace state=5 if st_fip==6
replace state=6 if st_fip==8
replace state=7 if st_fip==9
replace state=8  if st_fip==10
replace state=9  if st_fip==11
replace state=10 if st_fip==12
replace state=11 if st_fip==13
replace state=12 if st_fip==15
replace state=13 if st_fip==16
replace state=14 if st_fip==17
replace state=15 if st_fip==18
replace state=16 if st_fip==19
replace state=17 if st_fip==20
replace state=18 if st_fip==21
replace state=19 if st_fip==22
replace state=20 if st_fip==23
replace state=21 if st_fip==24
replace state=22 if st_fip==25
replace state=23 if st_fip==26
replace state=24 if st_fip==27
replace state=25 if st_fip==28
replace state=26 if st_fip==29
replace state=27 if st_fip==30
replace state=28 if st_fip==31
replace state=29 if st_fip==32
replace state=30 if st_fip==33
replace state=31 if st_fip==34
replace state=32 if st_fip==35
replace state=33 if st_fip==36
replace state=34 if st_fip==37
replace state=35 if st_fip==38
replace state=36 if st_fip==39
replace state=37 if st_fip==40 
replace state=38 if st_fip==41
replace state=39 if st_fip==42
replace state=40 if st_fip==44
replace state=41 if st_fip==45
replace state=42 if st_fip==46
replace state=43 if st_fip==47
replace state=44 if st_fip==48
replace state=45 if st_fip==49
replace state=46 if st_fip==50
replace state=47 if st_fip==51
replace state=48 if st_fip==53 
replace state=49 if st_fip==54
replace state=50 if st_fip==55
replace state=51 if st_fip==56

gen state_st=string(state)
gen zero=0
gen zero_st=string(zero)

* State/District Identifier
egen id_statecdst=concat(StateAbbr cdid)
sort id_statecdst

* Merging in roll call and DW-nominate variables
merge id_statecdst using "house_rollcall_final.dta"
drop _merge
sort id_statecdst
merge id_statecdst using "nominate_112.dta"
drop _merge
gen countyfips_new = real(countyfips)
drop countyfips
rename countyfips_new countyfips
merge m:1 countyfips using "CountyFips_Zhvi_AllHomes.dta", force


********************************************************************************
**** SECTION 2: VARIABLE CLEANING

* Health
gen health=genhealth
recode genhealth (1=5) (2=4) (3=3) (4=2) (5=1) (8=.) (9=.)
recode CC326* (1=1) (2=0)
alpha CC326_1 CC326_2 CC326_3 CC326_5 CC326_6 genhealth, std detail item gen(health3)

gen healthcat=. //MT: this is the original variable that is used in the analysis by the authors
replace healthcat=3 if health3<=-.5253906 
replace healthcat=2 if health3>-.5253906  & health3<=.2141881 
replace healthcat=1 if health3>.2141881 //MT: as can be seen, there is no upper limit to their recoding here

gen healthcat2=. //MT: this is an alternate variable that the authors generate but do not use
replace healthcat2=3 if health3<=-.4149778 
replace healthcat2=2 if health3>-.4149778  & health3<=.0713211
replace healthcat2=1 if health3>.0713211

gen healthcat3=. //MT: this is a corrected version of the variable that 'closes' the upper limit
replace healthcat3=3 if health3<=-.5253906 
replace healthcat3=2 if health3>-.5253906  & health3<=.2141881 
replace healthcat3=1 if health3>.2141881 & health3 !=. //MT: "& health3 !=." closes it off

gen healthdummy=.
replace healthdummy=1 if healthcat==3
replace healthdummy=0 if healthcat==1
replace healthdummy=0 if healthcat==2

* Voting Scale
gen vote2008=CC316
recode vote2008 (1=0) (2=0) (3=0) (4=1) (else=.)
gen vote2012=CC401
recode vote2012 (1=0) (2=0) (3=0) (4=0) (5=1) (else=.)

alpha vote2008 vote2012 votereg_post, gen(votetotal) detail std 
gen votetotal2=(votetotal+4.840454)/(4.840454+.4699168)

* Participation Scale
recode CC417a_1 CC417a_2 CC417a_3 CC417a_4 (1=1) (2=0) (else=.)
rename CC417a_1 polmeet
rename CC417a_2 polsign
rename CC417a_3 polwork
rename CC417a_4 poldonate

alpha polmeet polsign poldonate polwork , gen(polpart) detail std 
gen polpart2=(polpart+.4992842)/(2.160933+.4992842)
alpha vote2008 vote2012 votereg_post polmeet polsign poldonate polwork, gen(part_all2) detail std 

* Gender
gen female= gender
recode female (1=0) (2=1)

* Age
gen age=2012-birthyr
gen agecat=.
replace agecat=1 if age>=17 & age<=24
replace agecat=2 if age>=25 & age<=34
replace agecat=3 if age>=35 & age<=44
replace agecat=4 if age>=45 & age<=54
replace agecat=5 if age>=55

* Education
recode educ 1=0 2=1 3 4= 2 5=3 6=4

* Race
gen white = race ==1
gen black = race == 2
gen other_nonwhite = 1 if race !=1 & race !=2
recode other .=0

* Income
recode faminc (97=.) (98=.) (99=.)
gen inccat=. //MT: this is the original variable that the authors use
replace inccat=1 if faminc<=4
replace inccat=2 if faminc>4 & faminc<=8
replace inccat=3 if faminc>8 //MT: as can be seen, again there is no upper limit to the coding

gen inccat2=. //MT: this is a corrected version of the variable that 'closes' the upper limit
replace inccat2=1 if faminc<=4
replace inccat2=2 if faminc>4 & faminc<=8
replace inccat2=3 if faminc>8 & faminc !=. //MT: '& faminc !=.' closes off the upper limit

gen incdummy=.
replace incdummy=1 if inccat==3
replace incdummy=0 if inccat==1
replace incdummy=0 if inccat==2

* Political Interest
gen polinter = newsint
recode polinter (7=0) (1=4) (2=3) (3=2) (4=1)

* Party Identification
gen pid=CC421a
recode pid3 (1=0) (2=2) (3=1) (else=.)

* Ideology
gen ideology=CC334A
recode ideology (8=.) (98=.) (99=.)
recode ideo5 (6=.)

* Survey Weight
gen weight=V103

* Generating Conflict Districts
recode CC332A CC332B CC332F CC332G CC332H (1=1) (2=0) (else=.)
preserve
collapse (mean) ryanhealthcat1=CC332A simpsonhealthcat1=CC332B uskoreahealthcat1=CC332F repealhealthcat1=CC332G keystonehealthcat1=CC332H if healthcat==1 [pweight=V103], by(id_statecdst) 
sort id_statecdst
save "cd_healthcat1.dta", replace
restore
preserve
collapse (mean) ryanhealthcat3=CC332A simpsonhealthcat3=CC332B uskoreahealthcat3=CC332F repealhealthcat3=CC332G keystonehealthcat3=CC332H if healthcat==3 [pweight=V103], by(id_statecdst) 
sort id_statecdst
save "cd_healthcat3.dta", replace
restore
sort id_statecdst
drop _merge
merge id_statecdst using "cd_healthcat1.dta"
drop _merge
sort id_statecdst
merge id_statecdst using "cd_healthcat3.dta"
sort id_statecdst
drop _merge

replace ryanhealthcat1=0 if ryanhealthcat1<.5
replace ryanhealthcat1=1 if ryanhealthcat1>.5
replace ryanhealthcat3=0 if ryanhealthcat3<.5
replace ryanhealthcat3=1 if ryanhealthcat3>.5

replace simpsonhealthcat1=0 if simpsonhealthcat1<.5
replace simpsonhealthcat1=1 if simpsonhealthcat1>.5
replace simpsonhealthcat3=0 if simpsonhealthcat3<.5
replace simpsonhealthcat3=1 if simpsonhealthcat3>.5

replace uskoreahealthcat1=0 if uskoreahealthcat1<.5
replace uskoreahealthcat1=1 if uskoreahealthcat1>.5
replace uskoreahealthcat3=0 if uskoreahealthcat3<.5
replace uskoreahealthcat3=1 if uskoreahealthcat3>.5

replace repealhealthcat1=0 if repealhealthcat1<.5
replace repealhealthcat1=1 if repealhealthcat1>.5
replace repealhealthcat3=0 if repealhealthcat3<.5
replace repealhealthcat3=1 if repealhealthcat3>.5

replace keystonehealthcat1=0 if keystonehealthcat1<.5
replace keystonehealthcat1=1 if keystonehealthcat1>.5
replace keystonehealthcat3=0 if keystonehealthcat3<.5
replace keystonehealthcat3=1 if keystonehealthcat3>.5

gen ryanagg=.
replace ryanagg=1 if ryanhealthcat1!=ryanhealthcat3

gen simpsonagg=.
replace simpsonagg=1 if simpsonhealthcat1!=simpsonhealthcat3

gen uskoreaagg=.
replace uskoreaagg=1 if uskoreahealthcat1!=uskoreahealthcat3

gen repealagg=.
replace repealagg=1 if repealhealthcat1!=repealhealthcat3

gen keystoneagg=.
replace keystoneagg=1 if keystonehealthcat1!=keystonehealthcat3

recode ryanagg simpsonagg uskoreaagg keystoneagg repealagg (.=0)
gen conflict_tot=keystoneagg + repealagg + uskoreaagg + simpsonagg + ryanagg
gen conflict = 0
replace conflict = 1 if conflict_tot >= 1
replace conflict = . if conflict_tot == .


/*
There was a resignation in Oregon 1, leading to two OR1 nominations in the nomination data.
*/


**
** Policy Preferences/Win Ratio

* Missingness
tab1 CC332A CC332B CC332F CC332G CC332H, missing

* Generate win ratio components (skip coded as missing)
gen ryanwin_miss=.
replace ryanwin_miss=1 if (CC332A==1 & ryan==1) | (CC332A==0 & ryan==0)
replace ryanwin_miss=0 if (CC332A==1 & ryan==0) | (CC332A==1 & ryan==8) | (CC332A==0 & ryan==1) | (CC332A==0 & ryan==8)

gen repealwin_miss=.
replace repealwin_miss=1 if (repeal_aca1==1 & CC332G==1) | (repeal_aca1==0 & CC332G==0)
replace repealwin_miss=0 if (repeal_aca1==1 & CC332G==0) | (repeal_aca1==8 & CC332G==0) | (repeal_aca1==0 & CC332G==1) | (repeal_aca1==8 & CC332G==1)

gen repealwin2_miss=.
replace repealwin2_miss=1 if (repeal_aca2==1 & CC332G==1) | (repeal_aca2==0 & CC332G==0)
replace repealwin2_miss=0 if (repeal_aca2==1 & CC332G==0) | (repeal_aca2==8 & CC332G==0) | (repeal_aca2==0 & CC332G==1) | (repeal_aca2==8 & CC332G==1)

gen simpsonwin_miss=.
replace simpsonwin_miss=1 if (CC332B==1 & simpson==1) | (CC332B==0 & simpson==0)
replace simpsonwin_miss=0 if (CC332B==1 & simpson==0) | (CC332B==1 & simpson==8) | (CC332B==0 & simpson==1) | (CC332B==0 & simpson==8)

gen uskoreawin_miss=.
replace uskoreawin_miss=1 if (CC332F==1 & uskorea==1) | (CC332F==0 & uskorea==0)
replace uskoreawin_miss=0 if (CC332F==1 & uskorea==0) | (CC332F==1 & uskorea==8) | (CC332F==0 & uskorea==1) | (CC332F==0 & uskorea==8)

gen keystonewin_miss=.
replace keystonewin_miss=1 if (CC332H==1 & keystone==1) | (CC332H==0 & keystone==0)
replace keystonewin_miss=0 if (CC332H==1 & keystone==0) | (CC332H==1 & keystone==8) | (CC332H==0 & keystone==1) | (CC332H==0 & keystone==8)

gen winratio2_unit=((ryanwin_miss+repealwin_miss+repealwin2_miss+simpsonwin_miss+uskoreawin_miss+keystonewin_miss)/6)*100
egen winratio2_mean=rowmean(ryanwin_miss repealwin_miss repealwin2_miss simpsonwin_miss uskoreawin_miss keystonewin_miss)
gen winratio2_per=winratio2_mean*100
egen winratio2_miss=rowmiss(repealwin_miss repealwin2_miss simpsonwin_miss uskoreawin_miss keystonewin_miss)
egen wincount2=rowtotal(repealwin_miss repealwin2_miss simpsonwin_miss uskoreawin_miss keystonewin_miss)

*MT: I create two other win ratio variables that (1) exclude the ACA 2 vote and 
*(2) exclude the Ryan vote separately. These variables are used in additional 
*analyses to test the robustness of Pacheco and Ojeda's original analysis by 
*checking if the removal of a health-related policy from the original composite
*variable might change results.

//no ACA 2
egen winratio2_mean3=rowmean(ryanwin_miss repealwin_miss simpsonwin_miss uskoreawin_miss keystonewin_miss)
gen winratio2_per3=winratio2_mean3*100

//no Ryan
egen winratio2_mean4=rowmean(repealwin_miss repealwin2_miss simpsonwin_miss uskoreawin_miss keystonewin_miss)
gen winratio2_per4=winratio2_mean4*100

corr ryanwin_miss repealwin_miss repealwin2_miss simpsonwin_miss uskoreawin_miss keystonewin_miss
alpha ryanwin_miss repealwin_miss repealwin2_miss simpsonwin_miss uskoreawin_miss keystonewin_miss, std item

**
** MC Characteristics

* Gender of house member
gen housegender=.
replace housegender=1 if CurrentHouseGender=="F"
replace housegender=0 if CurrentHouseGender=="M"

* Freshmen status of house member
gen housefresh=.
replace housefresh=1 if CurrentHouseFreshman=="1"
replace housefresh=0 if CurrentHouseFreshman=="0"

* Black MC dummy variable
* http://history.house.gov/Exhibitions-and-Publications/BAIC/Historical-Data/Black-American-Representatives-and-Senators-by-Congress/
gen mcblack=0
replace mcblack=1 if name=="BASS"
replace mcblack=1 if name=="BISHOP"
replace mcblack=1 if name=="BROWN"
replace mcblack=1 if name=="BUTTERFIELD"
replace mcblack=1 if name=="CARSON"
replace mcblack=1 if name=="CLARKE" & id_statecdst=="MI13"
replace mcblack=1 if name=="CLARKE" & id_statecdst=="NY11"
replace mcblack=1 if name=="CLAY"
replace mcblack=1 if name=="CLEAVER"
replace mcblack=1 if name=="CLYBURN"
replace mcblack=1 if name=="CONYERS"
replace mcblack=1 if name=="CUMMINGS"
replace mcblack=1 if name=="DAVIS"
replace mcblack=1 if name=="EDWARDS"
replace mcblack=1 if name=="ELLISON"
replace mcblack=1 if name=="FATTAH"
replace mcblack=1 if name=="FUDGE"
replace mcblack=1 if name=="GREEN"
replace mcblack=1 if name=="HASTINGS"
replace mcblack=1 if name=="JACKSON"
replace mcblack=1 if name=="JACKSON-LEE"
replace mcblack=1 if name=="JOHNSON" & id_statecdst=="TX30"
replace mcblack=1 if name=="JOHNSON" & id_statecdst=="GA4"
replace mcblack=1 if name=="LEE"
replace mcblack=1 if name=="LEWIS"
replace mcblack=1 if name=="MEEKS"
replace mcblack=1 if name=="MOORE"
replace mcblack=1 if name=="NORTON"
replace mcblack=1 if name=="PAYNE"
replace mcblack=1 if name=="RANGEL"
replace mcblack=1 if name=="RICHARDSON"
replace mcblack=1 if name=="RICHMOND"
replace mcblack=1 if name=="RUSH"
replace mcblack=1 if name=="SCOTT" & id_statecdst=="GA13"
replace mcblack=1 if name=="SCOTT" & id_statecdst=="VA3"
replace mcblack=1 if name=="SCOTT" & id_statecdst=="SC1"
replace mcblack=1 if name=="SEWELL"
replace mcblack=1 if name=="THOMPSON" & id_statecdst=="MS2"
replace mcblack=1 if name=="TOWNS"
replace mcblack=1 if name=="WATERS"
replace mcblack=1 if name=="WATT"
replace mcblack=1 if name=="WEST"
replace mcblack=1 if name=="WILSON"

* Hispanic MC dummy variable
* http://history.house.gov/Exhibitions-and-Publications/HAIC/Historical-Data/Hispanic-American-Representatives,-Senators,-Delegates,-and-Resident-Commissioners-by-Congress/
gen mchisp=0
replace mchisp=1 if name=="BACA"
replace mchisp=1 if name=="BECERRA"
replace mchisp=1 if name=="CANSECO"
replace mchisp=1 if name=="CARDOZA"
replace mchisp=1 if name=="COSTA"
replace mchisp=1 if name=="CUELLAR"
replace mchisp=1 if name=="DIAZ-BALART"
replace mchisp=1 if name=="FLORES"
replace mchisp=1 if name=="GONZALEZ"
replace mchisp=1 if name=="GRIJALVA"
replace mchisp=1 if name=="GUTIERREZ"
replace mchisp=1 if name=="HERRERA-Beutler"
replace mchisp=1 if name=="HINOJOSA"
replace mchisp=1 if name=="LABRADOR"
replace mchisp=1 if name=="LUJAN"
replace mchisp=1 if name=="NAPOLITANO"
replace mchisp=1 if name=="NUNES"
replace mchisp=1 if name=="PASTOR"
replace mchisp=1 if name=="REYES"
replace mchisp=1 if name=="RIVERA"
replace mchisp=1 if name=="ROS-LEHTINEN"
replace mchisp=1 if name=="ROYBAL-ALLARD"
replace mchisp=1 if name=="SANCHEZ" & id_statecdst=="CA47"
replace mchisp=1 if name=="SANCHEZ" & id_statecdst=="CA39"
replace mchisp=1 if name=="SERRANO"
replace mchisp=1 if name=="SIRES"
replace mchisp=1 if name=="VELAZQUEZ"

* Party identification of house member
gen partyhouse=.
replace partyhouse=1 if party=="Democratic"
replace partyhouse=0 if party=="Republican"


**
** Respondent/MC congruence

* Co-Partisanship
gen copartisan=0
replace copartisan=1 if pid3==1 & partyhouse==1
replace copartisan=1 if pid3==2 & partyhouse==0

* Ideological similarity
gen newnom=(dwnom1*2)+3
gen newnom2=(dwnom1*1.5)+3
gen absdiff=abs(newnom-ideo5)

**MT: Pacheco and Ojeda originally include the line of code below in their .do file, but in the analysis they present 
**in their manuscript, some models include respondents who skipped 4 or more questions on their policy preferences. 
**Thus, to illustrate the difference, I do not run the line of code below, and include the command to exclude 
**such respondents in my regressions directly. 
**
** Keeping respondents who have answered (i.e., not skipped) at least two policy preference questions
*keep if winratio2_miss < 4



********************************************************************************
**** SECTION 3: ANALYSES

** MT: All analyses presented here are for models that have been corrected
** based on the mistakes that I identify in the original code by Pacheco &
** Ojeda. I only include code for analyses that I present in my manuscript,
** and label them according to how they are labelled in my manuscript. 

** Regression results

* Table 1 models

*M1
reg winratio2_per i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 & winratio2_miss < 4 [pweight=weight], cluster(id_statecdst)

*M2
reg winratio2_per i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh votetotal2 polpart2 if conflict==1  & winratio2_miss < 4 [pweight=weight], cluster(id_statecdst)

*M3
reg winratio2_per i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh copartisan absdiff if conflict==1  & winratio2_miss < 4 [pweight=weight], cluster(id_statecdst)

*M4
reg winratio2_per i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh votetotal2 polpart2 copartisan absdiff if conflict==1  & winratio2_miss < 4 [pweight=weight], cluster(id_statecdst)

* Table 2 models (Stratified by income)

*M1 (Low Income)
reg winratio2_per i.healthcat3 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 & inccat2==1 & winratio2_miss < 4 [pweight=weight], cluster(id_statecdst)

*M1 (High Income)
reg winratio2_per i.healthcat3 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 & inccat2==3 & winratio2_miss < 4 [pweight=weight], cluster(id_statecdst)

*M2 (Low Income)
reg winratio2_per i.healthcat3 educ age black hispanic female housegender mcblack mchisp housefresh votetotal2 polpart2 copartisan absdiff if conflict==1 & inccat2==1 & winratio2_miss < 4 [pweight=weight], cluster(id_statecdst)

*M2 (High Income)
reg winratio2_per i.healthcat3 educ age black hispanic female housegender mcblack mchisp housefresh votetotal2 polpart2 copartisan absdiff if conflict==1 & inccat2==3 & winratio2_miss < 4 [pweight=weight], cluster(id_statecdst)

* Table 3 models

*M1 (Rep.) and (Dem.)
bysort partyhouse: reg winratio2_per i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 & winratio2_miss < 4 [pweight=weight], cluster(id_statecdst)

*M2 (Rep.) and (Dem.)
bysort partyhouse: reg winratio2_per i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh votetotal2 polpart2 copartisan absdiff if conflict==1 & winratio2_miss < 4 [pweight=weight], cluster(id_statecdst)



********************************************************************************
**** SECTION 3: EXTENSION

* Table 4 models

*ACA repeal 1
logit repealwin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 [pweight=weight], cluster(id_statecdst) or

*ACA repeal 2
logit repealwin2_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 [pweight=weight], cluster(id_statecdst) or

*Ryan Budget
logit ryanwin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 [pweight=weight], cluster(id_statecdst) or

*Keystone 
logit keystonewin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 [pweight=weight], cluster(id_statecdst) or

*US-Korea
logit uskoreawin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 [pweight=weight], cluster(id_statecdst) or

*Simpson 
logit simpsonwin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 [pweight=weight], cluster(id_statecdst) or

* Table 5 models (and Table A1 in the Online Appendix)

**ACA repeal 1
bysort partyhouse: logit repealwin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 [pweight=weight], cluster(id_statecdst) or

**ACA repeal 2
bysort partyhouse: logit repealwin2_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 [pweight=weight], cluster(id_statecdst) or

**Ryan Budget
bysort partyhouse: logit ryanwin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 [pweight=weight], cluster(id_statecdst) or

**Keystone 
bysort partyhouse: logit keystonewin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 [pweight=weight], cluster(id_statecdst) or

**US-Korea 
bysort partyhouse: logit uskoreawin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 [pweight=weight], cluster(id_statecdst) or

**Simpson
bysort partyhouse: logit simpsonwin_miss ib3.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 [pweight=weight], cluster(id_statecdst) or

* Table 6 models 

*ACA repeal 
bysort pid3: logit CC332G i.healthcat3 i.inccat2 educ age black hispanic female [pweight=weight], or 

**Ryan Budget
bysort pid3: logit CC332A i.healthcat3 i.inccat2 educ age black hispanic female [pweight=weight], or 

**Keystone 
bysort pid3: logit CC332H i.healthcat3 i.inccat2 educ age black hispanic female [pweight=weight], or 

**US-Korea 
bysort pid3: logit CC332F i.healthcat3 i.inccat2 educ age black hispanic female [pweight=weight], or 

**Simpson
bysort pid3: logit CC332B i.healthcat3 i.inccat2 educ age black hispanic female [pweight=weight], or

* Table A2 models (Online Appendix)

*ACA repeal 1
logit repealwin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh copartisan absdiff if conflict == 1 & partyhouse == 0 [pweight=weight], cluster(id_statecdst) or


logit repealwin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh copartisan absdiff if conflict == 1 & partyhouse == 1 [pweight=weight], cluster(id_statecdst) or

*ACA repeal 2
logit repealwin2_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh copartisan absdiff if conflict==1 & partyhouse == 0 [pweight=weight], cluster(id_statecdst) or 

logit repealwin2_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh copartisan absdiff if conflict==1 & partyhouse == 1 [pweight=weight], cluster(id_statecdst) or 

*Ryan Budget
logit ryanwin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh copartisan absdiff if conflict==1 & partyhouse == 0 [pweight=weight], cluster(id_statecdst) or

logit ryanwin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh copartisan absdiff if conflict==1 & partyhouse == 1 [pweight=weight], cluster(id_statecdst) or

*Keystone 
logit keystonewin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh copartisan absdiff if conflict==1 & partyhouse == 0 [pweight=weight], cluster(id_statecdst) or

logit keystonewin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh copartisan absdiff if conflict==1 & partyhouse == 1 [pweight=weight], cluster(id_statecdst) or

*US-Korea
logit uskoreawin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh copartisan absdiff if conflict==1 & partyhouse == 0 [pweight=weight], cluster(id_statecdst) or

logit uskoreawin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh copartisan absdiff if conflict==1 & partyhouse == 0 [pweight=weight], cluster(id_statecdst) or

*Simpson 
logit simpsonwin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh copartisan absdiff if conflict==1 & partyhouse == 0 [pweight=weight], cluster(id_statecdst) or

logit simpsonwin_miss i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh copartisan absdiff if conflict==1 & partyhouse == 1 [pweight=weight], cluster(id_statecdst) or

* Table A3 models (Online Appendix)

*M1
reg winratio2_per3 i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 & winratio2_miss < 4 [pweight=weight], cluster(id_statecdst)

*M2
reg winratio2_per4 i.healthcat3 i.inccat2 educ age black hispanic female housegender mcblack mchisp housefresh if conflict==1 & winratio2_miss < 4 [pweight=weight], cluster(id_statecdst)
